package model

import (
	"go-malphite/app/common/dto"
	"gorm.io/gorm"
)

type Todo struct {
	gorm.Model
	ID      int64  `gorm:"primarykey"`
	Status  bool   // 状态 0未完成 1 已完成
	Content string `gorm:"type:varchar(255)"` // 待办内容，长度限制在(0,255]区间
	UserId  int64  // 所属用户id
}

func (table *Todo) TableName() string {
	return "todo"
}

type TodoAddParams struct {
	Content string `json:"content"` // 待办内容，长度限制在(0,255]区间
}

type TodoOneRes struct {
	ID        int64  `json:"id"`
	Status    bool   `json:"status"`    // 状态 0未完成 1 已完成
	Content   string `json:"content"`   // 待办内容，长度限制在(0,255]区间
	CreatedAt string `json:"createdAt"` // 创建时间
	UpdatedAt string `json:"updatedAt"` // 修改时间
}

type TodoPageRes struct {
	PageRes dto.PageRes
	Records []TodoOneRes `json:"records"`
}
